//////////////////////////////////////////////////////////////////////////
//
// GAM203
// Bird actor
// Bird.h
// 
// Grant Johnson
// Qantm College
//
//////////////////////////////////////////////////////////////////////////

#ifndef BIRD_H
#define BIRD_H

#include "GameObject.h"
#include "MeshX.h"

class Bird : public GameObject
{
public:
	Bird();
	virtual ~Bird();

	//////////////////////////////////////////////////////////////////////////
	// Update the game object
	//
	// Paramaters:
	// a_dt, the delta time
	//
	// Returns void
	//
	//////////////////////////////////////////////////////////////////////////
	virtual void Update(float a_dt);

	virtual void UseAbility(const int a_index);

	//////////////////////////////////////////////////////////////////////////
	// Description
	//
	// Paramaters:
	// 
	//
	// Returns 
	//
	//////////////////////////////////////////////////////////////////////////
	virtual D3DXVECTOR3 GetCameraAttachPos() const;

	//////////////////////////////////////////////////////////////////////////
	// Description
	//
	// Paramaters:
	// 
	//
	// Returns 
	//
	//////////////////////////////////////////////////////////////////////////
	virtual D3DXVECTOR3 GetCameraTrackPos() const;

	//////////////////////////////////////////////////////////////////////////
	// Get the drawable pointer of the game object
	//
	// Paramaters:
	// None
	//
	// Returns a drawable pointer to the drawable object
	//
	//////////////////////////////////////////////////////////////////////////
	virtual MeshX* GetDrawable() { return &m_mesh; }

private:
	MeshX m_mesh;
};

#endif  //BIRD_H
